package com.sqsf.aop;

//目标类
//就是交由spring管理的对象所在的类
//是否实现接口对于代码执行没有影响
//仅影响springAOP创建代理对象的方式
//如果目标类实现接口 采用默认的jdk代理方式
//使用相同的接口创建一个新的代理对象
//如果目标类没有实现接口 会自动切换采用cglib代理方式
//基于目标类的父类进行继承 创建一个新的代理对象
//无论哪种方式创建的代理对象都是由spring基于配置创建的
//并且代理对象的方法与目标对象方法相同
//因为代理对象执行时会调用目标对象的原方法 并在此基础上执行
//额外的方法 从而实现aop在不修改源代码的前提下 实现功能的增强
public class Target implements TargetInterface {

    //交由spring管理对象的方法称之为连接点(可以被增强的方法)
    //通过配置匹配 对应的方法需要增强 变为切入点
    //代理类增强的就是切入点方法
    @Override
    public void method() {
        System.out.println("Target running....");
    }
}